import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;


public class GroupQtyOnProductSKU 
{
	public static void main(String[] args) 
	{
		PLI pli0 = new PLI("123","j-k-l",5);
		PLI pli1 = new PLI("234","p-k-l",5);
		PLI pli2 = new PLI("123","j-k-l",2);
		PLI pli3 = new PLI("123","j-k-l",5);
		PLI pli4 = new PLI("234","p-k-l",5);
		PLI pli5 = new PLI("345","m-k-l",5);
		PLI pli6 = new PLI("123","j-k-l",4);
		PLI pli7 = new PLI("234","p-k-l",5);
		PLI pli8 = new PLI("345","m-k-l",1);
		PLI pli9= new PLI("345","m-k-l",2);
		
		List <PLI> pliList = new ArrayList <PLI>();
		pliList.add(pli0);pliList.add(pli1);pliList.add(pli2);pliList.add(pli3);pliList.add(pli4);
		pliList.add(pli5);pliList.add(pli6);pliList.add(pli7);pliList.add(pli8);pliList.add(pli9);
		
		Iterator <PLI> pliItr = pliList.iterator();
		groupBySKU(pliItr);
		
	}
	public static Iterator <PLI> groupBySKU(Iterator <PLI> itr)
	{
		Map <String,PLI> quantityMap = new HashMap <String, PLI>();
		
		while(itr.hasNext())
		{
			PLI pliValue = itr.next();
			String key = pliValue.getSKU();
			if(quantityMap.get(key) == null)
			{
				quantityMap.put(key, pliValue);
			}
			else
			{
				PLI obj = quantityMap.get(key);
				int qty = obj.getQuantity() + pliValue.getQuantity();
				
			}
		}
		
		return itr;
	}
}
